package com.laoyu.common.db.config;

import cn.zhxu.bs.SqlExecutor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.List;

/**
 * @author yuzhendong
 * @date 2024年01月19日 8:51
 * @description TODO
 */
@Slf4j
@Configuration
public class BeanSeacherConfig {

    @Bean
    public SqlExecutor.SlowListener slowSqlListener() {
        return (
                Class<?> beanClass,     // 发生慢 SQL 的实体类
                String slowSql,         // 慢 SQL 字符串
                List<Object> params,    // SQL 执行参数
                long timeCost           // 执行耗时（单位：ms）
        ) -> {
            // TODO: 监听处理
            log.warn("出现慢SQL,class:{},sql:{},param:{},time:{}",beanClass, slowSql, params, timeCost);
        };
    }
}
